1. Field of the Invention
The present invention relates to storage systems and, more particularly, to the reduction of access time to storage systems.
2. Description of the Related Art
When recording digital data, it is usual to group the user data into blocks and to protect the integrity of the data by adding error correction data. A commonly used scheme is Reed Solomon Product Code in which two levels of error correction codes (ECCs) are added. These two levels are often referred to as inner and outer error correction codes or ECC1 and ECC2.
Within a block, user data plus header information is arranged in an array of rows and columns. To each row is added an ECC1 code field and to each column is added an ECC2 code field. The resulting data block forms the minimum recordable block or unit record.
The host computer, however, may operate on smaller data segments or sectors. There are typically multiple sectors within a recordable block or unit record. When the host is to modify a sector, the drive typically reads the relevant block, error corrects the block, updates the block with the new sector of data, computes the error correction field values on this new block and writes the new unit record to the disc.
The process of calculating the new ECC, typically involves scanning the data along the rows as the data is being written to disc. ECC1 is calculated during this row scanning and appended to the data on disc. Meanwhile the ECC2 is gradually accumulated as the scanning progresses from row to row. This means that the ECC2 is not available until the complete data block has been scanned. It also means that even in situations where the unchanged data does not have to be rewritten, the complete data block has to be scanned to accumulate the new ECC2.
Furthermore, in some formats, e.g., the DVD format, ECC2 is interleaved throughout the data block, not appended at the end as is more usual. This means that writing cannot begin until ECC2 is available. On the inner tracks there is not sufficient time to read the data block, perform the complete scanning of the data block, necessary for calculating ECC2 in the conventional way and also to rewrite the new data block, in one revolution of the disc. This means an additional revolution is required to complete writing of the block.
Thus, it can be seen that multi-level error correction coding constraints, especially the interleaving of the error correction codes within a unit block, impose access limits upon current technology storage system devices and hinder the use of these devices in many applications.
Therefore, there is an unresolved need for multi-level error correction device that will significantly improve access time of current technology storage systems while providing reliable multi-level error correction, especially in the case of a device employing interleaving of the error correction codes within a unit block.